package org.monster.context.core.file;

import java.io.File;

/**
 * 文件基础命令
 * @author Monster
 */
public class FileBaseCommand implements FileCommand {

    /**
     * 检查
     *
     * @param file        文件
     * @param set         文件集合
     * @param catalog     目录
     * @param fileInvoker 调用器
     */
    @Override
    public void check(File file, FileSet set, FileCatalog catalog,
            FileInvoker fileInvoker) {
        FileCommand command = fileInvoker.getCommand(file, set, catalog);
        if (command != null) {
            command.check(file, set, catalog, fileInvoker);
        } else if (file.isDirectory()) {
            File[] files = file.listFiles();
            if(files != null) {
                for (File f : files) {
                    check(f, set, catalog, fileInvoker);
                }
            }
        }
    }
}
